home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / b / b.lha / B / src / bed / gram.h < prev    next >
Encoding:
C/C++ Source or Header  |  1988-11-24  |  738 b   |  43 lines

  1. /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1984. */
  2. /* $Header: gram.h,v 2.0 84/06/18 15:46:55 guido Exp $ */
  3.  
  4. /*
  5.  * B editor -- Grammar symbols.
  6.  */
  7.  
  8. /*
  9.  * Values used in "tabl.c" but also publicly.
  10.  */
  11.  
  12. #define Rootsymbol    00
  13. #define Suggestion    97
  14. #define Optional    98
  15. #define Hole        99
  16.  
  17.  
  18. /*
  19.  * Ditto for "lexi.c".
  20.  */
  21.  
  22. #define LEXICAL 100
  23.  
  24. /*
  25.  * Routines defined in "gram.c".
  26.  */
  27.  
  28. string *noderepr();
  29. node gram();
  30. node suggestion();
  31. node variable();
  32. string symname();
  33.  
  34. /*
  35.  * Macros for oft-used funtion.
  36.  */
  37.  
  38. #define Fwidth(str) ((str) ? fwidth(str) : 0)
  39.  
  40. #define Fw_zero(str) (!(str) || index("\b\t", (str)[0]))
  41. #define Fw_positive(str) ((str) && (str)[0] >= ' ')
  42. #define Fw_negative(str) ((str) && (str)[0] == '\n')
  43.